
var prefix = "/jzweb/publicRefund";
$(function() {
	load();
});


function load() {
	$('#exampleTable')
		.bootstrapTable(
			{
				method : 'get', // 服务器数据的请求方式 get or post
				url : prefix + "/list", // 服务器数据的加载地址
				//	showRefresh : true,
				//	showToggle : true,
				showColumns : true,
				height:750,
				iconSize : 'outline',
				toolbar : '#exampleToolbar',
				striped : true, // 设置为true会有隔行变色效果
				dataType : "json", // 服务器返回的数据类型
				pagination : true, // 设置为true会在底部显示分页条
				singleSelect : false, // 设置为true将禁止多选
				// contentType : "application/x-www-form-urlencoded",
				// //发送到服务器的数据编码类型
				pageSize : 10, // 如果设置了分页，每页数据条数
				pageNumber : 1, // 如果设置了分布，首页页码
				//search : true, // 是否显示搜索框
				showColumns : false, // 是否显示内容下拉框（选择显示的列）
				sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
				queryParamsType : "",
				// //设置为limit则会发送符合RESTFull格式的参数
				queryParams : function(params) {
					return {
						//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
						pageNumber : params.pageNumber,
						pageSize : params.pageSize,
						year:$('#year').val(),
						examStartDate:$('#examStartDate').val(),
						regionUserName:$('#regionUserName').val(),
						examEndDate:$('#examEndDate').val(),
						province:$('#searchProvince').val(),
						batchId:$('#batchId').val(),
						batchId2:$('#batchId2').val(),
						schoolName:$('#searchName').val(),
						expertName:$('#expertName').val(),
						refundRrNot:$('#refundRrNot').val(),
						refundType:$('#refundType').val(),
						// isNormalNum:isNormal
					};
				},
				// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
				// queryParamsType = 'limit' ,返回参数必须包含
				// limit, offset, search, sort, order 否则, 需要包含:
				// pageSize, pageNumber, searchText, sortName,
				// sortOrder.
				// 返回false将会终止请求
				responseHandler : function(res){
					console.log(res);
					var msg=res.data.moneyTotal;
					var obj = msg;
					var arr = Object.values(obj);
					for (let i = 0;i < arr.length;i++){
						if (arr[i] == null){
							arr[i] = '0.00'
						}
					}
					$('#typePublic').html("对公费用合计："+arr[0]);
					$('#typePrivate').html("对私费用合计："+arr[1]);
					return {
						"total": res.data.page.total,//总数
						"rows": res.data.page.records   //数据

					};
				},
				columns : [
					{
						checkbox : true
					},
					{
						field : 'batchId',
						title : '批次号'
					},
					{
						field : 'expertName',
						title : '姓名（开户名）'
					},
					{
						field : 'expertIdCard',
						title : '身份证号码'
					},
					{
						field : 'expertType',
						title : '专家类型'
					},
					{
						field : 'evaluationTimes',
						title : '考评日期'
					},
					{
						field : 'evaluationSchool',
						title : '考评学校'
					},
					{
						field : 'province',
						title : '省份'
					},
					{
						field : 'regionUserName',
						title : '区域负责人'
					},
					{
						field : 'refundType',
						title : '类型',
						formatter: function (value, row, index) {
							if (value == 0) {
								return '<span class="label label-primary">对公</span>';
							} else if (value == 1) {
								return '<span class="label label-success">对私</span>';
							}
						}
					},
					{
						field : 'cost',
						title : '费用'
					},

					{
						field : 'bankAccount',
						title : '银行账户'
					},
					{
						field : 'bankOfDeposit',
						title : '开户银行'
					},
					{
						field : 'mobile',
						title : '手机号'
					},
					{
						field : 'remarks',
						title : '备注'
					},
					{
						field : 'evaluationNum',
						title : '考评人数'
					},
					{
						field : 'regionDepartment',
						title : '部门'
					},
					{
						field : 'refundRrNot',
						title : '是否返费',
						formatter: function (value, row, index) {
							if (value == 0) {
								return '<span class="label label-info">未返费</span>';
							}if(value == 2){
								return '<span class="label label-danger">返费未成功</span>'
							} else if (value == 1) {
								return '<span class="label label-default">已返费</span>';
							}
						}
					},
					{
						field : 'refundTime',
						title : '返费时间'
					},
					{
						field : 'confirmState',
						title : '确认状态',
						formatter: function (value, row, index) {
							if (value == 0) {
								return '<span class="label label-info">未确认</span>';
							} else if (value == 1) {
								return '<span class="label label-default">已确认</span>';
							}
						}
					},
					{
						field : 'export',
						title : '是否导出',
						formatter: function (value, row, index) {
							if (value == 0) {
								return '<span class="label label-info">未导出</span>';
							} else if (value == 1) {
								return '<span class="label label-default">已导出</span>';
							}
						}
					},
					{
						title : '操作',
						field : 'id',
						align : 'center',
						formatter : function(value, row, index) {
							var s = '<button id="moreOper" class="layui-btn layui-btn-sm moreOper"   data-id="'+row.id+'"  title="更多操作" >更多操作</button>';
							return s;
						}
					} ],
				onAll:function(){
					layui.use('dropdown', function(){
						var dropdownData="[";
						if(s_edit_h==''){
							dropdownData+="{title:'编辑',id:'1'},";
						}
						if(s_remove_h==''){
							dropdownData+="{title:'删除',id:'2'},";
						}
						if(s_return_h==''){
							dropdownData+="{title:'退回',id:'3'},";
						}
						if(s_batchConfirm_h==''){
							dropdownData+="{title:'确认',id:'4'},";
						}

						dropdownData=dropdownData.substring(0,dropdownData.length-1);
						dropdownData+="]"
						//点击回调
						var dropdown = layui.dropdown;
						dropdown.render({
							elem: '.moreOper'
							,data: eval('('+dropdownData+')')
							,click: function(data, othis){
								var elem = $(this.elem)
									,listId = elem.data('id'); //表格列表的预埋数据
								switch(data.id){
									case '1':edit(listId);break;
									case '2':remove(listId);break;
									case '3':returnCost(listId);break;
									case '4':batchConfirm(listId);break;
								}
								//layer.msg('得到表格列表的 id：'+ listId +'，下拉菜单 id：'+ data.id);
							}
						});
					})
				}
			});
}



function reLoad(type) {
	var otherCostTotal = $('#otherCostTotal').val()
	console.log(otherCostTotal)
	if(otherCostTotal == null && otherCostTotal == 'null'){
		otherCostTotal = 0.00
	}
	if(type==1){
		isNormal=(isNormal+1)%2;
	}
	$('#exampleTable').bootstrapTable('refresh');
}


function add() {
	var year= $("#year").val();
	layer.open({
		type : 2,
		title : '增加',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '70%' ],
		content : prefix + '/add?year='+year // iframe的url
	});
}

function edit(id) {
	layer.open({
		type : 2,
		title : '编辑',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '70%' ],
		content : prefix + '/edit/' + id // iframe的url
	});
}

function batchConfirm2() {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要操作的数据");
		return;
	}
	layer.confirm("确定要批量确认选中的'" + rows.length + "'条数据吗?", {
		btn: ['确定', '取消']
		// 按钮
	}, function () {
		var ids = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function (i, row) {
			ids[i] = row['id'];
		});
		$.ajax({
			type: 'POST',
			data: {
				"ids": ids
			},
			url: prefix + '/batchConfirm2',
			success: function (r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function () {

	});
}

function batchConfirm(id) {
	layer.confirm('是否确认？', {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			url : prefix+"/batchConfirm",
			type : "post",
			data : {
				'id' :id
			},
			success : function(r) {
				if (r.code==0) {
					console.log(r)
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}

function returnCost(id) {
	layer.prompt({
		formType: 2,
		title: '请输入退回理由'}, function(value,index,elem) {
		console.log(value)
		$.ajax({
			url : prefix+"/returnCost",
			type : "post",
			data : {
				'id' : id,
				'returnExplain':value
			},
			success : function(r) {
				if (r.code==0) {
					layer.close(index);
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}

function remove(id) {
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {

		$.ajax({
			url : prefix+"/remove",
			type : "post",
			data : {
				'id' : id
			},
			success : function(r) {
				if (r.code==0) {
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}

function resetPwd(id) {
}


function publicRefunddownExcelModel(examFeeIf,table) {
	if (examFeeIf==null||examFeeIf==''){
		layer.msg('请选择考试后再下载导入模板!');
	}else {
		layer.confirm('您确定要下载导入模板吗？', {
			btn1:function(index){
				window.location.href = table;
				layer.close(index)
			}
		});
	}
}


function batchRemove() {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要删除的数据");
		return;
	}
	layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
		btn : [ '确定', '取消' ]
		// 按钮
	}, function() {
		var ids = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function(i, row) {
			ids[i] = row['id'];
		});
		$.ajax({
			type : 'POST',
			data : {
				"ids" : ids
			},
			url : prefix + '/batchRemove',
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function() {

	});
}

function refunds() {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要操作的数据");
		return;
	}
	layer.confirm("确认要操作选中的'" + rows.length + "'条数据吗?", {
		btn : [ '确定', '取消' ]
		// 按钮
	}, function() {
		var ids = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function(i, row) {
			ids[i] = row['id'];
		});
		$.ajax({
			type : 'POST',
			data : {
				"ids" : ids
			},
			url : prefix + '/refunds',
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function() {

	});
}



function returnBatchCost() {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要操作的数据");
		return;
	}
	layer.prompt({
		formType: 2,
		title: '请输入退回理由并点击下方确认按钮完成批量退回操作！',
		btn : [ '确定', '取消' ]
	}, function(value,index) {
		console.log(value)
		var ids = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function(i, row) {
			ids[i] = row['id'];
		});
		$.ajax({
			type : 'POST',
			data : {
				"ids" : ids,
				'returnExplain':value
			},
			url : prefix + '/returnBatchCost',
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function() {

	});
}





//导入
function importExcel(fileObj, formObj, url) {
	var loading = layer.load(1, {
		shade: [0.1, '#fff'] //0.1透明度的白色背景
	});

	// var refundType= $("#refundType").val();
	var year= $("#year").val();
	var school= $("#school").val();
	// if(refundType==null ||refundType ==''){
	// 	layer.msg("请选择返费类型");
	// 	return false;
	// }
	if(school==null ||school ==''){
		layer.msg("请选择返费对应的考试批次");
		return false;
	}
	var fileUrl = fileObj.val();
	var suffix = fileUrl.substr(fileUrl.lastIndexOf(".")).toLowerCase();//获得文件后缀名
	if (suffix == '.xls' || suffix == '.xlsx') {
		if (fileUrl) {
			formObj.ajaxSubmit({
				type: "post",
				url: url,
				data: {"year": year ,"examFeeIf": school},
				dataType: "json",
				success: function (data) {
					if (data.code == 0) {
						layer.close(loading);
						layer.msg("操作成功");
						reLoad();
					} else if (data.code == 41304) {
						layer.confirm('是否下载错误报告？', {
							btn1: function (index) {
								window.location.href = '/jzweb/publicRefund/importError';
								layer.close(index);
								layer.close(loading);
							},
							btn2: function (index) {
								layer.close(loading);
								$('#exampleTable').bootstrapTable('refresh');
							}
						});
					} else {
						layer.msg(data.msg);
					}
				}, error: function (XMLHttpRequest, textStatus, errorThrown) {
					layer.msg('出错了!');
				}
			});
		} else {
			layer.msg('上传的文件不可为空');
			// parent.$.messager.alert('警告', "上传的文件不可为空", 'warning');
		}
	} else {
		layer.msg('请上传正确的Excel表格!');
		// $.messager.alert('警告', "", 'warning');
	}
}




$(function() {
	load();
	var year= $('#year').val();
	//学校查询
	$('#school').selectPage({
		showField: 'name',
		keyField: 'id',
		data: prefix+'/selectCost2?year='+year,
		//向服务端提交的参数中，增加已选中的
		//设置返回-1，意为通知服务端返回空列表，初始化时使用
		params: function(){
			var pv = $('#school').val();

			return pv;
		},
		eAjaxSuccess : function(d){
			console.log(d)
			var result;
			if(d) result = d.data;
			else result = undefined;
			return result;
		}
	});
});
